package com.edicsem.pe.sie.model.dao.impl;
import java.util.ArrayList;
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.edicsem.pe.sie.entity.DomicilioPersonaSie;
import com.edicsem.pe.sie.model.dao.DomicilioEmpleadoDAO;

@Stateless
public class DomicilioEmpleadoDAOImpl implements DomicilioEmpleadoDAO{
	@PersistenceContext(name="edicsemJPASie")
	private EntityManager em;
	private static Log log = LogFactory.getLog(DomicilioEmpleadoDAOImpl.class);
	
	public void insertarDomicilioEmpleado(DomicilioPersonaSie domiciliopersona) {
		try {
			log.info("insert domicilio");
			em.persist(domiciliopersona);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

	
	public void actualizarDomicilioEmpleado(DomicilioPersonaSie domiciliopersona) {
		try {
			if (log.isInfoEnabled()) {
				log.info("actualizar domicilio");
			}
			em.merge(domiciliopersona);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

	
	public void eliminarDomicilioEmpleado(int id) {
		// TODO Auto-generated method stub
		
	}

	
	public DomicilioPersonaSie buscarDomicilioEmpleado(int id) {
		DomicilioPersonaSie domiciliopersona= new DomicilioPersonaSie();
		try {
			if (log.isInfoEnabled()) {
				log.info("buscar DomicilioPersona"+id);
			} 
			domiciliopersona=	em.find(DomicilioPersonaSie.class, id);
			log.info(" DomicilioPersona " +domiciliopersona);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return domiciliopersona;
	}

	
	public List listarDomicilioEmpleados() {
		// TODO Auto-generated method stub
		return null;
	}

	
	public DomicilioPersonaSie buscarDomicilioXIdempleado(int id) {
		log.info(" buscarDomicilioXIdempleado "+ id);
		DomicilioPersonaSie domicilio =new DomicilioPersonaSie();
		try {
			Query q = em.createQuery("select d from DomicilioPersonaSie d where d.idempleado.idempleado = "+ id);
			domicilio = (DomicilioPersonaSie) q.getResultList().get(0);
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		return domicilio;
	}

	
	public List listarDomicilioCliente(int id) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public DomicilioPersonaSie buscarDomicilioXIdcliente(int id) {
		// TODO Auto-generated method stub
		return null;
	}

}
